Linux常用指令

Tags
開串徐紹恩
Created
優先級⭐⭐⭐⭐⭐
最後編輯時間
最後編輯者徐紹恩

ls:列出檔案資訊 → 類似dos之dir

  1. l:列出詳細的檔案資訊
  1. a:列出全部檔案包括隱藏檔
  1. R:遞回列出檔案及子目錄其下的所有子目錄和檔案
  1. x:以多欄方式列出,字母順序由左而右
  1. i:以i -node來列出,會列出每個檔案在磁碟中的編號
  1. m:列出檔案時以逗號 , 來分隔
  1. n:把群組及檔案擁有者名稱轉成數字代碼
  1. t:依檔案的修改時間排序 (由新而舊)
  1. u:依檔案上次的存取時間排序 (需與t配合)
  1. s:檔案的大小以區塊為單位 (每個區塊block = 512 bytes)
  1. o:用顏色來顯示各種類別的檔案
  1. r:以相反的英文字母順序顯示
  1. d:只顯示目錄訊息而非目錄下的檔案

ln 製作捷徑檔:

ln -參數 已存在的檔案 要連結成的檔案

ln -參數 原來的目錄 要連結的目錄

參數說明:

不加:預設值;只限於相同檔案系統間的連結,且不能連結目錄s:可作不同檔案系統間的連結,且能連結目錄f:如果要連結成的檔案已存在,則砍掉這個已存在的檔案n:如果要連結成的檔案已存在,則停止連結,不會砍掉該檔案

cat:顯示檔案內容    (類似dos之type)

cat -參數 檔名

若不加參數:即 cat 新檔案 (類似dos之copy con 新檔名)

按 ctrl + d 結束並儲存

more:顯示檔案的內容,如果超過一頁則暫停    (類似dos之more)

more -參數 檔名

指令 | more    (類似dos之指令|more;如type 檔名|more)

參數說明:

p:先清除螢幕再列出c:每頁都清除螢幕一次再從螢幕最頂端列出s:如果檔案中有許多連續空白列時,只顯示一列l:忽略檔案中的跳頁符號

mv:更改、移動目錄或檔案 (類似dos之ren、move)

mv -參數 來源檔 (或目錄) 目的檔 (或目錄)

參數說明:

  1. b:移動之前先做備份
  1. v:做完移動之後顯示所做的移動情形
  1. f:強迫性移動,不會詢問使用者是否確認

pwd:顯示目前工作目錄路徑

passwd:改變密碼

rm:刪除檔案或目錄        (類似dos之del、deltree)

rm -參數 檔案或目錄
  1. r:刪除其下的檔案及目錄 (類似dos之deltree)
  1. i:刪除時提出警告
  1. f:刪除時不提出警告
  1. d:刪除目錄,即使該目錄並非空目錄

cp:複製檔案        (類似dos之copy)

cp -參數 來源檔 (或目錄) 目的檔 (或目錄)
  1. a:拷貝目錄,保留所有的資訊,包括連結的檔
  1. d:保留連結的檔案
  1. s:製造符號連結
  1. f:拷貝時若相同檔名的檔案直接複蓋不提出警告
  1. i:拷貝時若相同檔名的檔案不直接複蓋而會提出警告
  1. l:不拷貝,但是連結檔案
  1. p:保留檔案的修改時間及存取權限
  1. r:拷貝時包含目錄及目錄下的檔案

mkdir:建立子目錄    (類似dos之md)

mkdir -參數 目錄名稱
  1. p:連續建立兩個以上不存在的目錄
  1. m:設定這個目錄的存取權限

cd 子目錄名稱 → 轉移目錄 (類似dos之cd)

  1. cd ~ → 回自家目錄
  1. ..為上一層目錄
  1. 分隔符號為/非dos的\

rmdir:刪除子目錄,必須為空目錄 (類似dos之rd)

rmkdir -參數 子目錄名稱

p:若刪除此目錄之後,其上層目錄變成空目錄,則一併刪除

grep:用關鍵字找尋檔案

grep -參數 '字串' 要尋找的來源檔案
  1. 數字:列出找到字串的檔案名稱和字串前後幾行的內容
  1. A 數字:列出找到字串的檔案名稱和字串後幾行的內容
  1. B 數字:列出找到字串的檔案名稱和字串前幾行的內容
  1. c:顯示找到該字串的個數,不會顯示檔案內容
  1. h:不會顯示檔名,只會顯示內容
  1. i:忽略大小寫
  1. L:只顯示檔名一次
  1. m:只找尋字串完全相同者

dd:字碼轉換程式 將軟碟上的資料寫成一個檔,或把一個檔寫入磁碟

dd if=輸入檔或設備名稱 of=輸出檔或設備名稱
skip=blocks → 跳過讀入緩衝區的區塊數

bs=bytes → 設定讀/寫緩衝區的bytes

cbs=bytes → 一次轉換的bytes

ibs=bytes → 讀入緩衝區的bytes

obs=bytes → 寫入緩衝區的bytes

count=blocks → 只寫入block數

conu=

  1. ascii → 將EBCDIC碼轉成ASCII
  1. ebcdic → 將ASCII碼轉成EBCDIC
  1. ibm → 將ASCII碼轉成IBM
  1. block → 將變動位元轉成固定字元
  1. ublock → 將固定位元轉成變動字元
  1. lcase → 將大寫變小寫
  1. ucase → 將小寫變大寫
  1. swab → 將每一組bytes的資料做交換
  1. noerror → 忽略錯誤
  1. notrunc → 不要打斷 truntate 的輸出檔
  1. sync → 對ibs所指定的區塊大小填入空白

df:查詢硬碟使用量

  1. a:顯示全部的檔案系統和各分割區的磁碟使用情形
  1. i:顯示i -nodes的使用量
  1. k:大小用k來表示 (預設值)
  1. t:顯示某一個檔案系統的所有分割區磁碟使用量
  1. x:顯示不是某一個檔案系統的所有分割區磁碟使用量
  1. T:顯示每個分割區所屬的檔案系統名稱

du:查詢檔案或目錄的磁碟使用空間

  1. a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間
  1. b:大小用bytes來表示 (預設值為k bytes)
  1. c:最後再加上總計 (預設值)
  1. l:計算所有檔案大小
  1. s:只顯示各檔案大小的總合
  1. x:只計算同屬同一個檔案系統的檔案
  1. L:計算所有的檔案大小

find:找尋檔案、目錄

find 【起始目錄】 -name 【欲找的檔名】 -print

從起始目錄開始尋找檔案;使用萬用字元*時須在檔名兩端加"

fsck:檢查、修復linux檔案系統

fsck -參數 分割區名稱
  1. a:自動修復
  1. r:執行時會詢問
  1. V:顯示處理時的每一個步驟
  1. t:指定一個檔案系統
  1. n:不要真正執行,只看執行時會做那些動做

mount:掛上檔案系統

mount -參數 設備名稱 存放目錄

mount ip位址:/所提供的目錄 存放目錄

  1. 設備名稱:如/dev/hda2、/dev/fd0
  1. 存放目錄:必須是已存在的目錄
  1. 不加參數:顯示目前已經掛上來的檔案系統、目錄
  1. a:掛上/etc/fstab下所述全部的檔案系統
  1. t:指定所掛上來的檔案系統的名稱 (見/proc/filesystems)
  1. n:掛上檔案系統時不會把檔案系統的資料寫入/etc/mtab中
  1. w:檔案系統設定為可讀寫
  1. r:掛上來的檔案系統設定為唯讀
  1. 例:mount -t iso9660 /dev/hdd /cdrom
掛上光碟機,把光碟機之資料放入/cdrom目錄之中

umount:卸下已掛上的檔案系統

umount 已經掛上的目錄或設備名稱

例:umount /cdrom → 卸下/cdrom目錄

mke2fs:製作檔案系統 (類似dos之format)

mke2fs -參數 設備名稱

adduser:新增使用者

chmod:改變檔案權限屬性

chmod □□□ 檔名    → □□□ 代表雍有者;群組;全體使用者

例:111 101 101 → □□□ = 755;

雍有者可讀、寫、執行;群組及全體使用者可讀、執行

chown:更改某個檔案或目錄的擁有者或擁有群組

chown -參數 擁有者 (或擁有群組) 檔案
  1. R:將目錄下之檔案及其子目錄一併更改擁有者
  1. v:執行完後顯示訊息

su:將一個普通使用者提昇為超級使用者

who:顯示目前線上使用者

  1. m:顯示本身的資料
  1. q:顯示使用者帳號和線上人數
  1. i:顯示使用者的閒置時間
  1. w:顯示線上使用者能否用write傳送訊息給他

w:顯示目前線上使用者     (可顯示正在執行的指令)

vall <檔案名稱:傳送訊息給線上所有使用者 (root專用)

write:傳送訊息給線上某一位使用者

write 使用者帳號 終端機名稱

mesg y 或 mesg n:設定是否讓別人傳送訊息給自已

talk 使用者帳號 終端機名稱:與別人聊天

sync:把記憶體中的資料寫入硬碟

date:顯示日期、時間

shutdown:關機

shutdown -參數 時間 訊息
  1. k:並非真正關機,只是送出訊息
  1. r:關機後重新開機
  1. h:關機後不重新開機
  1. f:快速關機
  1. n:快速關機,不要經過init的程序
  1. c:取消關時的程序
  1. t:在警告訊息和刪除信號間做停留
  1. 時間可用now或任意數字 (代表分鐘)

reboot:快速關機 (類似按 Alt + Ctrl + Del 鍵

top:查看系統狀態;每隔幾秒更新一次,按 Ctrl + c 結束

ps:查看系統中正在執行的程式之程序資料

  1. l:長格式顯示
  1. u:顯示使用者名稱和起始時間
  1. i:顯示各程式的詳細執行情況
  1. s:顯示各程式的訊號名稱
  1. v:顯示虛擬記憶體使用情況
  1. m:顯示記憶體分配情形
  1. f:顯示執行的路行群
  1. a:其它使用者執行的程式一併顯示出來
  1. x:顯示所有程序
  1. r:顯示前景執行的程式
  1. c:只顯示執行程式的名字
  1. e:顯示執行程式的環境變數
  1. f:不顯示標題欄
  1. w:若訊息一列無法容納,則換列顯示

kill:終止程式之執行 (配合ps指令)

kill 程序號碼 (pid)    → 強迫終止程式之執行

kill -l     → 列出所有的信號

uname:查詢linux版本 (/proc/uname)

free:查詢目前記憶體的使用情形

uptime:顯示目前的使用者和平均的系統負荷

ftp:檔案傳送

ftp IPAddress

ftp 127.0.0.1 → 連進自已的電腦

  1. !:暫時離開ftp回到自已的電腦,exit回到ftp
  1. bin:以binary模式ftp
  1. get:下載檔案 → get 檔名 【新檔名】
  1. mget:下載多個檔案 → mget 檔名 → 可使用 * 或 ?
  1. put:上傳檔案 → put 檔名 【新檔名】
  1. mput:上傳多個檔案
  1. prompt:對答模式開關 → 預設值為 off
  1. bye:結束ftp

telnet:連到別台機器

telnet IPAddress

telnet 127.0.0.1 → 連進自已的電腦

rlogin:連到別台機器

rlogin -l 簽入的帳號 IP

netstat:查詢網路目前狀況

  1. a:全部列出
  1. c:每隔幾秒鐘重新列一遍
  1. i:界面狀態
  1. n:以網路IP位址代替名稱列出網路連接情形
  1. o:列出時間狀態
  1. r:列出網路的路徑表
  1. t:列出tcp協定的連接情形
  1. u:列出udp協定的連接情形
  1. v:列出版本
  1. w:列出raw程序連結的資訊
  1. x:列出有關unix網域socket的資訊

nslookup:查詢一台機器的IP位址及其對應的網域名稱

finger:列出某人的線上資料

finger -參數 使用者名稱
  1. s:使用短格式顯示使用者的各項資訊
  1. l:使用長格式顯示使用者的各項資訊
  1. p:使用長格式顯示時不列出計畫檔和專案檔

ping:查詢網路上某台主機是否開著

ping -參數 主機位址
  1. c 次數:送幾次封包給這台主機,然後等待回應
  1. d:設定SO_DEBUG選項
  1. f:大量且快速的送網路封包給一台主機,看它的回應
  1. i 秒數:設定幾秒鐘送一次封包給一台主機,預設值1秒
  1. q:不顯示傳送封包的資訊,只顯示最後結果
  1. l 次數:在次數內,以最快速的方式送封包給一台主機

man:查詢某個指令的輔助說明 → man 指令名稱

help:查詢某個內建指令的說明 (bash shell) → help 內建指令名稱

whereis:尋找某個指令的檔案位置 → whereis 指令名稱

locate:找尋檔案 → locate 相關字

whatis:查詢某個指令的用途 → whatis 指令名稱

at:設定某一個時間執行某一個指令

crontab:設定每天或每月定期執行的指令

nohup:設定退出系統後,程式仍不被終止

echo:印出字串

clear:清除螢幕

指令&     → 將該程式弄到背景執行

cal 月 年:顯示月曆

  1. j:顯示查詢的那一天為每年的第幾天
  1. y:顯示整年的月曆